Wireless networks have become increasingly popular, as computers and other devices can be coupled for data communications without requiring wired connections between the network nodes. Because wireless networks are expected to operate in unfavorable conditions, such as in the presence of reflections, interference, movement of receivers/transmitters, etc., much effort is needed to correctly transmit and receive data over a wireless channel.
A typical node in a wireless network (referred to in the standards as a “station”) includes a receive chain and a transmit chain. A transmit chain typically includes some digital processing and analog circuitry (RF, baseband, etc.) that causes a signal to be transmitted into the wireless channel. A receive chain typically includes one or more antenna, RF circuitry and other analog circuitry, and digital processing that seeks to output a data stream that represents what the sending transmit chain received as its input and transmitted into the wireless network. Of course, where there are unrecoverable errors, there is a mismatch between what the sending transmit chain received and what the receiving receive chain outputs. In some cases, a receiver uses multiple antennas to improve reception of the signal from a sending transmit chain.
Because of the expected conditions, the receive chain includes various components designed to ensure that signals can be largely recovered correctly. Several techniques have been in use to recover signals. One technique is the use of error correction. With error correction, when a bit or bits are lost, they might be recovered using other bits that were not lost according to whatever error correction coding was done. Error correction cannot correct all errors, so even some error conditions might cause unrecoverable errors. For example, if four information bits are encoded into seven transmitted bits using a Reed-Solomon error correcting encoding, if any four of the seven transmitted bits are recovered, then the four information bits can be determined. However, if more than three of the transmitted bits are lost, the full information cannot be recovered. Note that if there are several such encodings, information is lost when four bits are lost if they all are lost out of one encoding, but if four bits are lost with two bits lost per encoding, the information is recoverable.
One approach to spreading potential losses is interleaving. A standard 802.11a transmitter interleaves bits over subcarriers.
Interleaving is useful to distribute bits so that errors can be recovered in the face of fading and other channel conditions. In an 802.11a interleaver, the bits are as reordered as shown below, wherein NBPSC refers to the number of coded bits per subcarrier, NCBPS refers to the number of coded bits per OFDM symbol and NDBPS refers to the number of data bits per OFDM symbol.i=(NCBPS/16)(k mod 16)+floor(k/16) for k=0, . . . , NCBPS−1  (Equ. 1)j=s floor(i/s)+(i+NCBPS−floor(16*i/NCBPS)) mod s, where s=max(NBPSC/2, 1)  (Equ. 2)
Thus, an interleaver would take in coded bits in an input sequence from an encoder wherein the coded bits have indices represent by k (i.e., the bits arrive as k=0, k=1, k=2, etc.). The interleaver reorders them so that the bits are output in order by their j index. For a given value of k, the value of j is determined by the formula of Equations 1-2. Using this arrangement, adjacent bits are separated such that they differ by three subcarriers and next adjacent bits differ by six subcarriers. There are 16 bits of difference within a given subcarrier (for QPSK or higher order constellations).
However, interleavers can be improved over the standard 802.11a interleaver.
A MIMO (multiple-input, multiple-output) system comprises at least a transmitter that transmits a number of bits, or a stream of bits, over a transmission medium to a receiver. Typically, the transmission medium is a wireless radio channel but the other media such as multi-mode fiber might be used instead. A MIMO system comprises M transmit streams and N receive antennas (spatially separated, separated by polarization, or otherwise separated), where M and N are each integers greater than one (except for degenerate cases of M=1 and/or N=1, wherein MIMO techniques would work, but not provide as much benefit). Thus, an MIMO transmitter transmits its data as M streams and a receiver processes its inputs as N inputs.
A MIMO transmitter might comprise an encoder that first applies a forward error correcting (FEC) code on the bit stream that is to be received at an output of the receiver. The FEC code could be a block code, a convolution code or other code or codes. The coded bit stream is distributed by a de-multiplexer over M transmit streams. Many of the examples herein use M=2 as an example, but it should be understood that the examples can be expanded to other values of M. The same is true for N, and M and N need not be the same value. In any case, the distributed, coded transmit streams are modulated and transmitted. As an example, bits for a transmit stream might be divided in groups of two bits and modulated onto a carrier using QPSK (Quaternary Phase Shift Keying) modulation. More or less advanced modulation techniques are possible, such as BPSK (mapping one bit at a time), 16-QAM (mapping groups of four bits), 64-QAM (mapping groups of six bits), etc.
In general, for a transmit constellation size of c, a MIMO transmitter transmits M·(log2 c) coded bits per symbol period (NCBPS). The transmit symbols for a symbol period can be represented as an M-dimensional vector x. These symbols are up-converted to radio frequency, transmitted and then received by N antennas at the receiver. The receiver converts the signal down to baseband frequency and, at the output of the N down-converters. Those received symbols can be represented by an N-dimensional vector y. An example of a transmitter-receiver system is shown in FIG. 1.
For MIMO systems, interleavers might be needed with better performance than standard 802.11a interleavers.